package cn.tedu;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

public class Test2 {
    public static void main(String[] args) {

    }
}
//第二大步::使用注解@Controller
//@Controller(1)直接使用
@Controller(local = "Hello类")//(2)用来给local属性指定值
class Hello{
    //@Controller  --位置不对
    String name;
    //@Controller   --位置不对
    public void eat(@Controller(local="eat()里") int a){//5,改值 local="eat()里"
        System.out.println("eat()");
    }
}
//第一大步::自定义注解--由底层框架完成
@Target(value={ElementType.TYPE,ElementType.PARAMETER})//指定注解可以出现的位置--是在类上
//value= 可以不写
@Retention(RetentionPolicy.SOURCE)//指定注解的生命周期--是在源文件中有效
        //没写  value=
@interface  Controller{//自定义一个名为Controller注解
    //3,添加属性  定义属性
    //String local();//()不是参数，也不能写参数，只是特殊语法
    //4,给属性 设置默认值
    String local()default "";

}
